- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Искусство схемотехники. Том 2 [Изд.4-е] - Пауль Хоровиц
Шрифт:
Интервал:
Закладка:
Патология в логических схемах
Существуют интересные, а иногда и просто забавные ловушки, подстерегающие ничего не подозревающего разработчика цифровых схем. Некоторые из них, такие как логические гонки и тупиковые ситуации, могут возникать независимо от типа используемых логических схем. Другие (как, например, эффект тиристорного включения в кристаллах КМОП) представляют собой «генетические аномалии» того или иного семейства. Ниже мы попытаемся обобщить наш печальный опыт и надеемся, что приведенные анекдоты помогут избежать другим тех же ошибок.
8:33. Проблемы статических режимов«Тупиковое состояние». Легко попасть в ловушку, построив схему, имеющую «мертвое» состояние. Допустим, имеется какое-то устройство с рядом триггеров, которые в процессе работы проходят через заданные состояния. Кажется, что схема действует превосходно, но в один прекрасный момент она намертво останавливается. Единственный способ заставить ее опять работать — это выключить питание, затем снова его включить. Такая ситуация из-за того, что схема имела «мертвое» состояние (запрещенное состояние системы, которого не удалось избежать), в которое она и угодила под воздействием каких-то переходных помех по цепи питания. При разработке цифровых схем очень важно выявить подобные состояния и строить логику таким образом, чтобы схема могла автоматически восстанавливаться. Как минимум, должен быть предусмотрен сигнал начальной установки (вырабатываемый от кнопки, при включении питания и т. д.), который мог бы возвращать систему в нормальное состояние. При наличии такого сигнала никаких других мер может и не потребоваться (см. упражнение 8.24).
Начальная установка. Этот вопрос возникает при определении состояния системы в начальный момент. В любом случае полезно иметь какой-либо сигнал, который обеспечивал бы начальную установку. Иначе при включении питания в системе могут происходить непонятные вещи. На рис. 8.93 показана подходящая схема. Последовательно включенный со входом вентиля резистор необходим при использовании КМОП-схем, что позволяет избежать повреждения схемы при отключении питания, так как в противном случае электролитический конденсатор будет пытаться запитать систему через защитный диод входного вентиля КМОП. Хорошей идеей является использование триггера Шмитта (4093, `14), благодаря которому снятие сигнала СБРОС происходит чисто. Символ гистерезиса на рисунке означает, что на входе инвертора установлен триггер Шмитта, собранный, например, на ТТЛ 74LS14 (6 инверторов), либо КМОП 40106, либо 74С14.
Рис. 8.93. Схема для формирования сигнала сброса при включении питания.
8.34. Проблемы при переключенияхЛогические гонки. Здесь скрываются многие коварные ловушки. Классический случай логических гонок был описан в разд. 8.19 на примере синхронизатора импульсов. В любом случае, когда вентили управляются сигналами от триггеров, необходимо убедиться в том, что в схеме не может возникнуть ситуация, в которой к моменту тактирования триггера вентиль открывается, а по истечении задержки на триггере закрывается. Сигналы, возникающие на входах триггеров, не должны быть задержанными по отношению к тактовым импульсам (еще одно преимущество синхронной системы!). В общем случае задерживайте такты, но не информацию. Необычно легко проглядеть возможность возникновения логических гонок.
Метастабильные состояния. Как уже отмечалось, триггер и любое тактируемое устройство могут сбиться, если изменение сигналов на информационных входах произойдет менее чем за время tуст до возникновения тактового импульса. В худшем случае выход триггера будет буквально совершать колебания в окрестности логического порога в течение нескольких микросекунд (для сравнения: нормальная величина задержки распространения элементов ТТЛ составляет 20 нc). Разработчики логических схем это обычно не принимают во внимание, но подобная проблема может возникнуть в быстродействующих системах, когда потребуется синхронизовать асинхронные сигналы. Такую ситуацию считают виновной во многих таинственных сбоях ЭВМ, но мы смотрим на это предположение скептически. В этом случае требуется лишь установить цепочку синхронизаторов или «детектор метастабильных состояний», который будет сбрасывать триггер.
Скос фронтов тактовых импульсов. Скос фронтов тактовых импульсов оказывает большее влияние на схемы КМОП, чем на ТТЛ. Такая проблема возникает в том случае, когда для тактирования нескольких соединенных между собой устройств используется сигнал с большим временем нарастания (рис. 8.94).
Рис. 8.94. Временной сдвиг из-за завала тактовых импульсов.
В рассматриваемом примере два регистра сдвига тактируются фронтом с большим временем нарастания. Это время обусловлено емкостной нагрузкой выхода КМОП, который имеет относительно высокий импеданс (порядка 500 Ом при работе от источника +5 В). Проблема возникает из-за того, что порог срабатывания у первого регистра может оказаться ниже, чем у второго, в результате чего его сдвиг произойдет раньше и последний бит первого регистра будет потерян. Дело еще осложняется тем, что значения пороговых напряжений для устройств на КМОП колеблются в очень широком диапазоне (фактически они могут принимать любое значение в пределах от 1/3 до 2/3 Ucc и они принимают!). В подобной ситуации самое лучшее — это располагать корпуса микросхем рядом, тем самым избегать большой емкостной нагрузки по тактовым входам.
Говоря в общем, тактовые входы каких-либо цифровых микросхем должны всегда тщательно обрабатываться. Например, тактовые линии с шумом или «звоном» должны всегда очищаться с помощью вентиля (возможно, с входным гистерезисом) до подачи на синхронизируемый кристалл. У вас, вероятно, возникали проблемы с линиями синхронизации, которые поступали с другой платы или с другого логического семейства. Например, медленная логика 4000 В или 74С, питающая быстрые семейства НС или АС, наверняка вызовет проблемы перекоса импульсов или кратных переходов.
Укороченные импульсы. В разд. 8.29 при рассмотрении счетчиков по модулю n мы отмечали, что в том случае, когда счетчики должны сбрасываться собственным входным сигналом, необходимо ввести задержку для того, чтобы предотвратить появление укороченного импульса. То же самое относится и к импульсам записи в счетчики или регистры сдвига. Укороченные импульсы часто доставляют неприятности, приводят схему к работе на границе устойчивости и вызывают периодические сбои. При разработке схемы следует исходить из наихудшего значения для задержки.
Неопределенные правила. Когда полупроводниковая промышленность нащупывала свой путь, начиная с простейших схем резисторно-транзисторной логики 1960 г., затем ТТЛ- и ТТЛШ-семейства, до высокопроизводительных современных КМОП-семейств, было недопонято значение стандартизации выводов, спецификаций и функциональности. Как пример, схема 7400 (И-НЕ) имела свои выводы вентилей, а схема 7401 (ИЛИ-НЕ с открытым коллектором) имела отличные от нее расположения выводов вентилей. Это создавало такую путаницу, что побудило выпустить «мутант»-схему 7403, которая представляет собой схему 7401, но с разводкой вентилей, как у 7400. Подобное недоразумение случилось со схемой 7490 (двоично-десятичный счетчик) с расположением контактов питания по середине корпуса, а не в углах. (Как ни смешно, но контакты питания, расположенные посредине корпуса, «возвратились» в быстродействующих схемах КМОП, для уменьшения индуктивности и улучшения изоляции.)
Важным наследством этой ранней анархии является «всякая всячина» неопределенных правил, которых мы придерживаемся. Например, популярный `74D-триггер существует в каждом логическом семействе; подача одновременно сигналов установки и сброса приводит к высокому уровню на обоих выходах в каждом семействе, кроме 74С, где это приводит к низкому уровню на выходах! Это не совсем неопределенное правило, поскольку если вы внимательно посмотрите в хорошую документацию, то найдете непоследовательность. На техническом жаргоне это называют «Попался!» (gotcha). Другим любимым нашим примером этого «попался!» является схема `96: 5-разрядный сдвиговый регистр с хитрыми входами загрузки; они могут устанавливаться, но не сбрасываться. Подлинным неопределенным правилом, а фактически очень важным является «время перемены». Это такое количество времени, которое вы должны ожидать после снятия асинхронного входного сигнала для полной гарантии синхронизации тактируемого элемента.
Проектировщиков кристаллов не беспокоило это обстоятельство (хотя проектировщики схем всегда хотели это знать), пока логические семейства, выпускавшиеся ранее 1980 г., не были обойдены улучшенными ТТЛШ и быстрыми КМОП-семействами. Если вы проектируете с применением более ранней логики (например, 74С), наш совет — быть консервативным, например, предполагайте, что время перемены такое же, как время установки данных хотя обычно оно меньше. Так например, у D-триггера 74НС74 минимальное время распространения определяется в 5 не, в то время как минимальное время установки данных составляет 20 нc.